package cn.t.converter.sku;

import cn.t.core.converter.CoreDTOConverter;
import cn.t.dto.sku.SkuDTO;
import cn.t.model.device.CargowaySkuDO;
import cn.t.model.device.DeviceDO;
import cn.t.model.sku.SkuDO;
import cn.t.request.CreateSkuReq;
import cn.t.vo.andriod.AndroidSkuDetailVO;
import cn.t.vo.andriod.AndroidSkuVO;
import cn.t.vo.ent.EntAbbSkuVO;
import cn.t.vo.sku.SkuVo;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 商品表(Sku)dto转domain
 *
 * @author t
 * @since 2024-05-24 10:19:35
 */
@Mapper(componentModel = "spring")
public interface SkuDTOConverter extends CoreDTOConverter<SkuDTO, SkuDO> {

    List<SkuVo> do2Vo(List<SkuDO> list);

    SkuVo do2Vo(SkuDO skuDO, Integer limitedType, Integer limitedQuantity, Long roleSkuId);


    SkuDO createParam2do(CreateSkuReq req);

    List<AndroidSkuVO> do2CargowayVo(List<CargowaySkuDO> deviceSkuList);

    List<AndroidSkuDetailVO> do2CargowaySkuVO(List<DeviceDO> deviceDOS);

    List<AndroidSkuDetailVO.CargowayVO> carDo2CarVo(List<CargowaySkuDO> cargowayVOS);

    List<EntAbbSkuVO> do2AbbSkuVo(List<CargowaySkuDO> deviceSkuList);
}

